In non-volatile memory systems, a controller performs operations when moving data between different blocks of memory to check for errors in the data. In many conventional procedures, a controller of a non-volatile memory system may examine data at each word line of a memory block prior to the transfer of data to check for errors in the data. However, checking data at each word line of a memory block prior to moving the data can be time consuming and greatly reduce performance of the memory system.
In other conventional procedures, a controller of a non-volatile memory system samples a limited amount of data at a memory block for errors prior to transfer to a second memory block. The controller then verifies the data stored at the second memory block after the transfer. However, the additional read operations after the transfer can also greatly reduce performance of the memory system.
More advance techniques for ensuring that data is correctly transferred between different blocks of memory is desirable.